/**
*┌──────────────────────────────────────────────────────────────┐
*│　描    述：Navigation                                                    
*│　作    者：NetCoreCMS                                            
*│　版    本：1.0    模板代码自动生成                                                
*│　创建时间：2019-12-25 10:52:46                             
*└──────────────────────────────────────────────────────────────┘
*┌──────────────────────────────────────────────────────────────┐
*│　命名空间： NetCoreCMS.Services                                  
*│　类    名： NavigationService                                    
*└──────────────────────────────────────────────────────────────┘
*/
using NetCoreCMS.IRepository;
using NetCoreCMS.IServices;
using NetCoreCMS.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace NetCoreCMS.Services
{
    public class NavigationService: INavigationService
    {
        private readonly INavigationRepository _repository;

        public NavigationService(INavigationRepository repository)
        {
            _repository = repository;
        }

        public int Add(Navigation model)
        {
            return (int)_repository.Insert(model);
        }

        public int Delete(int id)
        {
            return _repository.Delete(id);
        }

        public bool Exists(string nav_name)
        {
            return _repository.GetList("where name=@nav_name", new { nav_name = nav_name }).Count()>0;
        }

        public bool Exists(int id)
        {
            return _repository.Get(id) != null ? true : false;
        }

        public List<Navigation> GetList(int parent_id, string nav_type)
        {
            return _repository.GetList(parent_id, nav_type);
        }

        public Navigation GetModel(int id)
        {
            return _repository.Get(id);
        }

        public bool Update(Navigation model)
        {
            return _repository.Update(model) > 0;
        }

        public int UpdateField(int id, string strValue)
        {
            return _repository.UpdateField(id, strValue);
        }
    }
}